import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import persistencia.XMLmanager;

import api.API;
import api.ControlDispositivos;
import api.Dispositivo;
import api.IConsultaReglasRMI;

import api.Regla;
import api.ServidorRMI;
import aplicacionCliente.VistaCliente;
import vistas.*;
public class Main {

	
	public static void main(String[] args) {		
		List<PlanoEdificio> planos = new ArrayList<PlanoEdificio>();
		List<Regla> reglas = new ArrayList<Regla>();
		
		XMLmanager man = new XMLmanager("datos");
		man.hidratar(planos, reglas);
		
		API.obtenerInstancia().setReglas(reglas);
		
		Iterator<PlanoEdificio> itP = planos.iterator();
		while (itP.hasNext()){
			List<Dispositivo> dispositivos = itP.next().getDispositivos();
			ControlDispositivos.obtenerInstancia().agregarDispositivos(dispositivos);
			
			Iterator<Dispositivo> itD = dispositivos.iterator();
			while (itD.hasNext()) API.obtenerInstancia().registrarNotificador(itD.next().getNotificador());
		}
		
		VistaEdificio vista = new VistaEdificio(1250,700,planos);
		vista.setVisible(true);
		
		//LINEAS PARA LANZAR LA APLICACION CLIENTE EN PARALELO - DEJO COMENTADO
		//ServidorRMI srv = new ServidorRMI("");				
		//VistaCliente vistaCli = new VistaCliente("localhost"); 
		//vistaCli.setVisible(true);		
	}
}
